package br.ufpi.componets;

import javax.annotation.PreDestroy;

import br.com.caelum.vraptor.ioc.Component;
import br.com.caelum.vraptor.ioc.SessionScoped;
import br.ufpi.model.User;
import br.ufpi.repositories.UserRepository;

/**
 * Usado para Colocar o usuario na sessão apos Logar na Aplicação
 * 
 * @author Cleiton
 */
@Component
@SessionScoped
public class UserSession {
	// TODO depois apagar UsuarioRepository aqui é apenas para não precisar
	// fazer login
	UserRepository usuarioRepository;
	private User user;

	public UserSession(UserRepository repository) {
		this.usuarioRepository = repository;
		// usuario=usuarioRepository.find(1l);
	}

	

	public User getUser() {
		return user;
	}



	public void setUser(User user) {
		this.user = user;
	}



	/**
	 * Analisa se possui usuario na sessão
	 * 
	 * @return
	 */
	public boolean islogado() {
		return user != null;
	}

	/**
	 * Quando terminar o tempo da sessão o usuario vai ser igual a null
	 */
	@PreDestroy
	public void logout() {
		user = null;
	}

}
